/* 
函数扩展
    1、参数默认值
    2、参数解构赋值
    3、rest参数
    4、...扩展运算符
*/
// 参数默认值
// function foo(param = '你好') {
//     console.log(param);
// }
// foo('大笨蛋');

// 参数解构赋值
// function foo({ uname = '李四', age = 123 } = {}) {
//     console.log(uname, age);
// }
// foo({
//     uname: '张三',
//     age: 45
// });

// // rest参数（剩余参数）
// function foo(a, b, c, ...aaaa) {
//     console.log(a, b, c);
//     console.log(aaaa);
// }
// foo(1, 2, 3, 4, 5, 6, 7, 8);

// 扩展运算符
function foo(a, b, c, e) {
    console.log(a + b + c + e);
}
let arr = [1, 2, 3, 4];
foo(...arr);

// 合并数组
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let arr3 = [...arr1, ...arr2];
console.log(arr3);